package com.deco.dao.warpper.store;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.deco.dao.delegate.store.IStoreJoinDao;
import com.deco.dao.domain.table.FixGeneralDsp;
import com.deco.dao.domain.table.StoreJoin;
import com.deco.dao.logic.store.StoreJoinDao;
import com.deco.domain.vo.store.StoreJoinVo;
import com.deco.domain.vo.store.StoreShopVo;
import com.free.common.vo.PageResponseVo;
import com.free.ext.mybatis.model.entity.PageResponseModel;
import com.free.ext.mybatis.warpper.BaseDaoWarpper;

/**
 * <p>
 * 功能概述:
 * </p>
 * <p>
 * 功能详述:
 * </p>
 */
@Repository
public class StoreJoinDaoWarpper extends BaseDaoWarpper<StoreJoinVo,Long,StoreJoin> implements IStoreJoinDao {

    /*========================================================================*
     *                         Public Fields (公共属性)
     *========================================================================*/

    /*========================================================================*
     *                         Private Fields (私有属性)
     *========================================================================*/
    @Autowired
    private StoreJoinDao storeJoinDao;

    /*========================================================================*
     *                         Construct Methods (构造方法)
     *========================================================================*/

    /*========================================================================*
     *                         Public Methods (公有方法)
     *========================================================================*/

    @Override
    public void registerEnums() {

    }

	@Override
	public PageResponseVo<StoreJoinVo> selectByPageNoNameLike(
			StoreJoinVo conditionVo, String orderBy, Integer pageNo,
			Integer pageSize) {
		StoreJoin tbl = convertToTable(conditionVo);
        PageResponseModel<StoreJoin> pgModel = storeJoinDao.selectByPageNoNameLike(tbl, orderBy, pageNo, pageSize);
        return convertToViewResponseVo(pgModel);
	}

	@Override
	public int batchDelete(Integer[] ids) {
		return storeJoinDao.batchDelete(ids);
	}

	@Override
	public List<StoreJoinVo> selectByNameLike(StoreJoinVo storeJoinVo,
			String orderBy) {
		StoreJoin tbl = convertToTable(storeJoinVo);
		List<StoreJoin> storeJoinList = storeJoinDao.selectByNameLike(tbl, orderBy);
		if(storeJoinList == null)
			return null;
		List<StoreJoinVo> res = new ArrayList<StoreJoinVo>();
		if(storeJoinList != null && storeJoinList.size() > 0){
			storeJoinList.forEach(x -> {
				res.add(convertToView(x));
			});
		}
		return res;
	}

    /*========================================================================*
     *                         Private Methods (私有方法)
     *========================================================================*/
}
